<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>解构赋值</title>
    <script src="/vue_basic/js/vue.js"></script>
</head>
<body>
    <script>

        //ES5
        //属性名必须对应存在于对象内,如果不存在,则返回undefined
        const obj = {
            name:'wyf',
            age:19,
            max:function(){}
        };
/* 
        let name = obj.name;
        let age = obj.age;
        console.log(name,age);
 */

        //ES6
        //属性名必须对应存在与对象内，如果不存在则返回undefined, l顶序可以调换
        // let{name,age} = obj;
        //相同写法(let{age,name} = obj;)
        // console.log(name,age);
        //如果我想要重新定义解构过程中产生的新变量名
        let{name:newname} = obj;
        console.log(newname);


        

        //数据的解构
        //ES5 数组名[下标]
        const arr1 = ['张三','李四','王五'];
        // var a = arr[0];
        // var b = arr[1];
        // var c = arr[2];
        
        // console.log(a,b,c);

        //ES6
        let [a,c,b,d] = arr1;
        console.log(a,b,c,d)
        //d:undefined 解构不成功



         //找到1，2，3，4里面的最大值
         //Math JS内置对象
         let {max} = Math;
         console.log(max(1,2,3,4));

    </script>
    
</body>
</html>